This disclosure is related to protection of a data, programs, and/or other material stored e.g., on a computer in disk or memory from viewing or copying by unauthorized parties.
On many computer operating systems the root level user account is a special user account used for system administration. For example, in Linux and other Unix-like operating systems, “root” is the user name or account that by default has access to all commands and files. It is also referred to as e.g. the root account, root user, or the superuser.
In many computing environments, it is desirable to provide authorized individuals access to sensitive material while protecting the sensitive material, (e.g. high value applications running in a cluster environment) from copying, tampering, and reverse engineering by unauthorized individuals. This may be particularly challenging in computing environments in which unauthorized users have substantial control over the computing environment, e.g. administrative or root level access. For example, a software developer might contract with university professors to conduct basic research and to develop critical software applications using a supercomputer cluster managed by a university. The developer would want to assure that this software cannot be viewed, altered, or copied by unauthorized persons while the software is running on the supercomputer. Preferably, the solution should not impose a performance penalty on the computing environment and should not cause significant inconvenience or annoyance to the developers of the software or to other users of the supercomputer. It is also desirable for the solution not to require an understanding of the internal workings of the sensitive material.